package com.kx.demo.namenode;

/**
 * 负责管理元数据的核心组件
 *
 * @author kx
 */
public class FSNameSystem {

    /**
     * 负责管理内存文件目录树的组件
     */
    private FSDirectory directory;
    /**
     * 负责管理edits log写入磁盘的组件
     */
    private FSEditlog editLog;

    public FSNameSystem() {
        this.directory = new FSDirectory();
        this.editLog = new FSEditlog();
    }

    /**
     * 创建目录
     *
     * @param path 路径
     * @return 结果
     * @throws Exception 异常
     */
    public Boolean mkdir(String path) throws Exception {
        this.directory.mkdir(path);
        this.editLog.logEdit("创建了" + path);

        return true;
    }
}
